package org.dromara.common.core.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;
import org.dromara.common.core.utils.StringUtils;

/**
 * 角色类型
 *
 * @author Lion Li
 */
@Getter
@AllArgsConstructor
public enum RoleType {

    /**
     * 员工角色key
     */
    EMPLOYEE("employee"),

    /**
     * 权证角色key
     */
    WARRANT("warrant"),

    /**
     * 财务角色key
     */
    FINANCE("finance"),

    /**
     * 客户角色key
     */
    CUSTOMER("customer");

    /**
     * 用户类型标识（用于 token、权限识别等）
     */
    private final String code;

    public static RoleType getUserType(String str) {
        for (RoleType value : values()) {
            if (StringUtils.contains(str, value.getCode())) {
                return value;
            }
        }
        throw new RuntimeException("'Role' not found By " + str);
    }
}
